SOSL (Salesforce Object Search Language) Salesforce প্ল্যাটফর্মের একটি সার্চ ভাষা, যা একাধিক অবজেক্টে কী-ওয়ার্ড ভিত্তিক সার্চ করতে ব্যবহৃত হয়। SOSL অনেকটা সার্চ ইঞ্জিনের মতো কাজ করে এবং এটি মূলত কী-ওয়ার্ড দিয়ে বিভিন্ন অবজেক্টের এক বা একাধিক ফিল্ডে সার্চ করে সংশ্লিষ্ট রেকর্ডগুলো রিটার্ন করে।
SOSL সাধারণত FIND কিওয়ার্ড ব্যবহার করে সার্চ চালায়। SOSL কুয়েরিতে নির্দিষ্ট কী-ওয়ার্ড বা টার্ম দিয়ে একাধিক অবজেক্টের মধ্যে সার্চ করা যায়। এটি একাধিক অবজেক্ট এবং ফিল্ডে দ্রুত সার্চ করার জন্য খুবই কার্যকর, বিশেষ করে যখন নির্দিষ্ট অবজেক্ট বা ফিল্ডে দ্রুত কোনো তথ্য খুঁজে বের করতে হয়।
FIND 'search_term' IN ALL FIELDS RETURNING ObjectName1(Field1, Field2), ObjectName2(Field1, Field2)
নিচের উদাহরণে, Contact এবং Account অবজেক্টে 'John' নামক কী-ওয়ার্ডের ভিত্তিতে সার্চ করা হয়েছে।
List<List<SObject>> searchResults = [FIND 'John' IN ALL FIELDS RETURNING Contact(FirstName, LastName), Account(Name)];
Contact
অবজেক্টের FirstName
, LastName
এবং Account
অবজেক্টের Name
ফিল্ডে 'John' কী-ওয়ার্ড দিয়ে সার্চ করা হয়েছে।SOSL-এ '*' ব্যবহার করে আংশিক মিলে থাকা ডেটা সার্চ করা যায়। নিচের উদাহরণে, 'Tech' দিয়ে শুরু হওয়া সমস্ত রেকর্ড সার্চ করা হয়েছে।
List<List<SObject>> searchResults = [FIND 'Tech*' IN ALL FIELDS RETURNING Account(Name), Opportunity(Name)];
Account
এবং Opportunity
অবজেক্টের নামের মধ্যে 'Tech' দিয়ে শুরু হওয়া সমস্ত রেকর্ড সার্চ করা হয়েছে।নিচে FIND
কিওয়ার্ড ব্যবহার করে একটি নির্দিষ্ট কী-ওয়ার্ড দিয়ে Account
অবজেক্টে সার্চ করা হয়েছে এবং শুধুমাত্র Name
ফিল্ডে মিল থাকা রেকর্ডগুলো রিটার্ন করা হয়েছে।
List<List<SObject>> searchResults = [FIND 'Software' IN NAME FIELDS RETURNING Account(Name)];
Account
অবজেক্টের শুধুমাত্র Name
ফিল্ডে 'Software' কী-ওয়ার্ড দিয়ে সার্চ করা হয়েছে।বৈশিষ্ট্য | SOSL | SOQL |
---|---|---|
প্রধান উদ্দেশ্য | একাধিক অবজেক্টে কী-ওয়ার্ড ভিত্তিক সার্চ | নির্দিষ্ট অবজেক্টে ডেটা কুয়েরি |
কিওয়ার্ড | FIND | SELECT |
Aggregate Functions | সমর্থিত নয় | সমর্থিত |
Relationship Querying | সমর্থিত নয় | Parent-Child ও Child-Parent সম্পর্কিত কুয়েরি সমর্থিত |
Wildcard Search | সমর্থিত | সমর্থিত নয় |
ফিল্ড নির্দিষ্ট সার্চ | IN ALL FIELDS বা নির্দিষ্ট ফিল্ডে সার্চ করা যায় | নির্দিষ্ট ফিল্ডের ডেটা সংগ্রহ করা যায় |
নিচের উদাহরণে, SOSL ব্যবহার করে Account
এবং Contact
অবজেক্টে নির্দিষ্ট কী-ওয়ার্ড দিয়ে সার্চ করা হয়েছে এবং ফলাফল প্রিন্ট করা হয়েছে।
public class SOSLExample {
public static void searchRecords(String searchKeyword) {
// SOSL কুয়েরি
List<List<SObject>> searchResults = [FIND :searchKeyword IN ALL FIELDS RETURNING Account(Name), Contact(FirstName, LastName)];
// Account রেকর্ড প্রিন্ট করা
List<Account> accounts = (List<Account>) searchResults[0];
for (Account acc : accounts) {
System.debug('Account Name: ' + acc.Name);
}
// Contact রেকর্ড প্রিন্ট করা
List<Contact> contacts = (List<Contact>) searchResults[1];
for (Contact con : contacts) {
System.debug('Contact Name: ' + con.FirstName + ' ' + con.LastName);
}
}
}
Account
এবং Contact
অবজেক্টে সার্চ চালানো হয়েছে এবং প্রাপ্ত রেকর্ডগুলোকে প্রিন্ট করা হয়েছে।SOSL হলো Salesforce-এর একটি সার্চ ভাষা, যা একাধিক অবজেক্টে কী-ওয়ার্ড ভিত্তিক সার্চ চালায়। SOSL বিভিন্ন অবজেক্টের বিভিন্ন ফিল্ডে দ্রুত সার্চ করার জন্য উপযুক্ত এবং এটি Salesforce প্ল্যাটফর্মে মাল্টি-অবজেক্ট সার্চ এবং দ্রুত অনুসন্ধান কার্যক্রম সহজ করে তোলে।
common.read_more